package com.neuedu.corejava.ch7;



public class Outer {
	
	private int id=11;
	private String name="outer";

	public Outer(int id, String name) {
		super();
		this.id = id;
		this.name = name;
	}

	public void printOuter() {
		System.out.println(id+"in outer:" +name);
		
		//内部类可以直接在外部类中使用，用于完成特定的功能
		Inner inner =new Inner();
		inner.printInner();
	}
	
	//内部类
	private class Inner{
		private int id=101;
		private String name="inner";
		
		public void printInner() {
			//在内部类中，可以直接使用外部类的属性和方法
			//在内部类中，如果有变量与外部类的变量名称相同，优先使用内部类的变量
			int innerId=id;
			String innerName=name;
			System.out.println(innerId+"in Inner:"+innerName);
			printOuter();
			
		}
	}//end Inner

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	

	
}
